<?php
defined('G_G_LIN') or die("URL is error");
class CommonAction extends Action {
	
	/**
		初始化函数、过滤器函数
	*/
	function _initialize() {

		$this->assign('module_name' , MODULE_NAME );//当前模块名称
		$this->assign('action_name' , ACTION_NAME );//当前操作名称
		$this->assign('site_name' , '51链接网' );//当前操作名称

		$keywords	 = '51链接网,友情链接,链接交换,链接交换中心,链接平台,友情链接交换,网址交换,交换友情链接链接网,51链接,免费网址交换,免费友情链接';
		$description = '51链接网提供友情交换中心，是新站长实现友情交换链接首选平台，致力打造国内最诚信，最方便的友情链接交换平台。';
		$this->assign('keywords' , $keywords );//SEO关键字
		$this->assign('description' , $description );//SEO描述
		
		//获取登录用户信息
		if(isset($_SESSION[C('USER_AUTH_KEY')])) {
			$this->assign('loginUserId' ,   $_SESSION[C('USER_AUTH_KEY')]);//用户ID
			$this->assign('loginUserName' , $_SESSION[C('USER_AUTH_NAME')]);//登录用户名
		}

	}
	
	/** 获取用户信息*/
	protected function _get_user_info($map){
		return M('Links')->where($map)->find();
	}
	
	/** 检查用户是否登录*/
	protected function _checkLogin() {
		if(!isset($_SESSION[C('USER_AUTH_KEY')])) {
				$this->assign("jumpUrl", __URL__.'/login/');
				$this->error('对不起，您还没有登录！');
		}
	}
	
	/** 保存用户登录信息 */
	protected function saveUserSession($authInfo){
		$_SESSION[C('USER_AUTH_KEY')]	=	$authInfo['id'];
		$_SESSION[C('USER_AUTH_NAME')]	=	$authInfo['site_link'];
		$_SESSION[C('USER_AUTH_TIME')]	=	$authInfo['last_login_time'];

		//保存登录信息
		$Links	=	M('Links');
		$ip		=	get_client_ip();
		$time	=	time();
		$data = array();
		$data['id']	=	$authInfo['id'];
		$data['last_login_time']	=	$time;
		$data['login_count']		=	array('exp','login_count+1');
		$data['last_login_ip']		=	$ip;
		$Links->save($data);
	}
	/**
     +----------------------------------------------------------
	 * 根据表单生成查询条件
	 * 进行列表过滤
     +----------------------------------------------------------
	 * @access protected
     +----------------------------------------------------------
	 * @param Model $model 数据对象
	 * @param HashMap $map 过滤条件
	 * @param string $sortBy 排序
	 * @param boolean $asc 是否正序
     +----------------------------------------------------------
	 * @return void
     +----------------------------------------------------------
	 * @throws ThinkExecption
     +----------------------------------------------------------
	 */
	protected function _list($map , $listRows , $order = '', $sort = '') {
		//排序字段 默认为主键名
		if(empty($order)){
			$order = 'last_login_time';
		}
		if(empty($sort)){
			$sort  = 'DESC';
		}
		$model = D('Links');

		//取得满足条件的记录数
		$count = $model->where ( $map )->count ( 'id' );
		if ($count > 0) {
			import ( "@.ORG.Util.Page" );
			//创建分页对象
			if (! empty ( $listRows )) {
				$listRows = $listRows;
			} else {
				$listRows = '';
			}
			$p = new Page ( $count, $listRows );
			//分页查询数据
			$voList = $model->where($map)->order( "`" . $order . "` " . $sort)->limit($p->firstRow . ',' . $p->listRows)->select ( );

			//echo $model->getlastsql();exit;
			//分页跳转的时候保证查询条件
			foreach ( $map as $key => $val ) {
				if (! is_array ( $val )) {
					$p->parameter .= "$key=" . urlencode ( $val ) . "&";
				}
			}
			//分页显示
			$page = $p->show ();

			//模板赋值显示
			$this->assign ( 'list', $voList );
			$this->assign ( 'sort', $sort );
			$this->assign ( 'order', $order );
			$this->assign ( "page", $page );
		}
		
		$this->assign ( 'totalCount', $count );
		$this->assign ( 'numPerPage', $p->listRows );
		$this->assign ( 'currentPage', !empty($_REQUEST[C('VAR_PAGE')])?$_REQUEST[C('VAR_PAGE')]:1);
		
		import ( "@.ORG.Util.Cookie" );
		Cookie::set ( '_currentUrl_', __SELF__ );
		return;
	}


}
?>